1. Technical Field
The present invention relates in general to a system and method for reversing a windows close action. More particularly, the present invention relates to a system and method that allows a user to recover a window that was inadvertently closed.
2. Description of the Related Art
Modern computer systems often use Graphical User Interfaces (GUIs) to interact with a user of the computer system in an intuitive manner. A GUI environment uses “windows” to display information to the user and to receive information from a user. In a GUI environment, applications that are opened usually have one or more windows that are displayable on the computer system's display.
Windows can be often be arranged and resized depending upon the user's preference. For example, if a user is using an Internet Browser, such as Microsoft's Internet Explorer™, or Netscape's Navigator™, along with an email program, such as IBM's Lotus Notes™, the user can size the windows so that both appear on the display at the same time or each window can be “maximized” in order to fill the entire display with the application that the user is currently user being displayed and the other application being “hidden.” The application that the user is currently using, regardless of whether a maximized window is being used, is called the window with “focus.” The user switches, or “focuses,” on another window by interacting with the computer system. For example, in some operating systems a task bar is displayed on the screen with an icon corresponding to each of the viewable applications currently in operation. Also, keyboard commands, such as “Alt-Tab,” can often be used to scroll from one application to the next with the scrolling providing focus to each of the available applications.
The operating system keeps track of the windows that are currently in operation along with a multitude of data regarding each of the windows. This data includes a window “handle” which is an address that is used by the operating system and other applications to address a particular window. Each window has a unique handle, or address, that is used to reference the window. For each unique window handle, the operating system keeps track of data such as whether the window is currently hidden or visible, the location of the window (coordinates) on the display, whether the window is maximized or minimized, whether the window currently has focus, along with a multitude of other data about the window.
While providing windows in a GUI environment generally makes computing more intuitive and somewhat easier, the GUI environment and associated windows are challenged by the ease at which a window can be closed. This challenge is exacerbated by the fact that windows can be overlaid upon one another so that the user may wish to close a particular window but may accidentally select the close icon associated with a window but actually select a close icon associated with a different window, thus closing the wrong window. Additionally, the user may close a window, such as the Web browser application and, a moment later, realize that he wanted to view additional information on the Web page that was being displayed. In a traditional GUI environment, the user, in these situations, would be forced to re-initialize the closed application and re-enter data (such as the domain name of the Web site that was used) in order to get the window to display the same data that was displayed prior to being closed. Additionally, in some situations, data, such as a word processing document, that was not saved prior to the inadvertent “close” request may be lost altogether.
What is needed, therefore, is a system and method that allows a user to recover from an inadvertent window close request in a GUI environment. Furthermore, what is needed is a system and method that recovers resources associated with the closed window, such as application data, and restores the window appropriately using the recovered resources. Finally, what is needed is a system and method that allows a user to configure the resource usage of the window recover system and determine when, or under what circumstances, resources associated with closed windows, such as memory, are reclaimed by the operating system.